Standard compiler

A compiler is a procedure which accepts an expression and a syntax table, and returns a compiled code object. A compiled code object may be executed in a given environment. Note that the term ``compiler'' is used in a technical sense and encompasses not only compilers such as ORBIT (section [*]) which produce machine instructions, but also programs such as the standard compiler (which is called by EVAL) which operate internally by producing intermediate code or by interpreting source code directly. Often programs like these are called interpreters instead of compilers.

A given T implementation may have several compilers. STANDARD-COMPILER should be one of these compilers. T 3.1 also provides a compiler called ORBIT, which is described in section [*].


\begin{inset}{}
Evaluates {\it expression\/} in {\it environment\/}. Evaluation ...
...t lambda}} is when the expansion
is evaluated or otherwise analyzed.
\end{inset}


\begin{inset}{}
Compiles {\it expression\/}. {\bf T} may provide several
compile...
...t STANDARD-COMPILER} will be the one which is
invoked by {\tt EVAL}.
\end{inset}


\begin{inset}{}
Invokes a compiled code object.
\end{inset}